package com.bgs.pojo.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.bgs.pojo.OrderMiddleDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 订单
 * </p>
 *
 * @author Asia
 * @since 2021-09-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Order对象", description="订单")
public class OrderTow implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单主键id")
      @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    @ApiModelProperty(value = "订单编号")
    private String orderSerialNumber;

    @ApiModelProperty(value = "下单人ID")
    private Integer beforeUserId;

    @ApiModelProperty(value = "地址主键id")
    private Integer beforeUserAddrId;

    @ApiModelProperty(value = "支付方式：1现金，2余额，3网银，4支付宝，5微信")
    private Integer paymentMethod;

    @ApiModelProperty(value = "订单金额")
    private Double orderMoney;

    @ApiModelProperty(value = "运费金额")
    private Double shippingMoney;

    @ApiModelProperty(value = "支付金额")
    private Double paymentMoney;

    @ApiModelProperty(value = "快递公司名称")
    private String shippingCompName;

    @ApiModelProperty(value = "快递单号")
    private String shippingSerialNumber;

    @ApiModelProperty(value = "下单时间")
    private Date createTime;

    @ApiModelProperty(value = "发货时间")
    private Date shippingTime;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "收货时间")
    private Date receiveTime;

    @ApiModelProperty(value = "订单状态。0是代付款。1是待发货。2/待收货/已发货。3待评价/交易成功。4/退款售后。5交易关闭")
    private Integer orderStatus;

    @ApiModelProperty(value = "最后修改时间")
    private Date modifiedTime;

    private OrderMiddleDetail orderMiddleDetail;

    private List<OrderDetail> orderDetails;

}
